home *** CD-ROM | disk | FTP | other *** search
/ Ham Radio 2000 #2 / Ham Radio 2000 - Volume 2.iso / HAMV2 / MISC / HCAL-27 / ELECLENG.BAS (.txt) < prev    next >
Encoding:
GW-BASIC  |  1997-01-28  |  4.6 KB  |  174 lines

  1. 10  'ELECLENG - Electrical vs. Physical length - 17 NOV 96
  2. 20  'ref THE ARRL ANTENNA BOOK, 17th edition, page 28-6
  3. 30  IF EX$=""THEN EX$="EXIT"
  4. 40  COMMON EX$
  5. 50  IF PROG$=""THEN GO$=EX$ ELSE GO$=PROG$
  6. 60  CLS:KEY OFF
  7. 70  K=299.79   'speed of light factor
  8. 80  U$="#####.###"
  9. 90  UL$=STRING$(80,205)
  10. 100  X$=STRING$(80,32)
  11. 110  '
  12. 120  COLOR 15,2,1
  13. 130  PRINT " TRANSMISSION LINE LENGTH";TAB(57);"by George Murphy VE3ERP ";
  14. 140  COLOR 1,0:PRINT STRING$(80,223);
  15. 150  COLOR 7,0
  16. 160  '
  17. 170  '.....start
  18. 180  F=0:L=0:FT=0:N=0:V=0:E=0:W=0:D=0:LN=0
  19. 190  VIEW PRINT 3 TO 24:CLS:VIEW PRINT:LOCATE 3
  20. 200  GOSUB 1240    'preface
  21. 210  PRINT UL$;
  22. 220  COLOR 0,7:LOCATE ,23
  23. 230  PRINT " Press 1 to continue or 0 to EXIT..."
  24. 240  COLOR 7,0
  25. 250  Z$=INKEY$:IF Z$=""THEN 250
  26. 260  IF Z$="0"THEN CLS:CHAIN GO$
  27. 270  IF Z$="1"THEN 290
  28. 280  GOTO 250
  29. 290  VIEW PRINT 3 TO 24:CLS:VIEW PRINT:LOCATE 3
  30. 300  GOTO 370
  31. 310  '
  32. 320  '.....format input line
  33. 330  LOCATE CSRLIN-1:PRINT SPC(7);
  34. 340  LOCATE CSRLIN,54:PRINT USING U$;ZZ;
  35. 350  RETURN
  36. 360  '
  37. 370  '.....input data
  38. 380  IF F THEN 450
  39. 390  INPUT " ENTER: Frequency of operation in MHz................";F
  40. 400  IF F=0 THEN LOCATE CSRLIN-1:PRINT X$;:LOCATE CSRLIN-1:GOTO 450
  41. 410  ZZ=F:GOSUB 320:PRINT " MHz"
  42. 420  LOCATE CSRLIN-1,31:PRINT STRING$(7,".")
  43. 430  GOSUB 880
  44. 440  '
  45. 450  IF L OR D THEN 670
  46. 460  INPUT " ENTER: Length of line in metres.....................";L
  47. 470  IF L=0 THEN LOCATE CSRLIN-1:PRINT X$;:LOCATE CSRLIN-1:GOTO 520
  48. 480  ZZ=L:GOSUB 320:PRINT " metres"
  49. 490  LOCATE CSRLIN-1,23:PRINT STRING$(10,".")
  50. 500  GOSUB 880
  51. 510  '
  52. 520  IF L OR D THEN 670
  53. 530  INPUT " ENTER: Length of line in feet.......................";FT
  54. 540  IF FT=0 THEN LOCATE CSRLIN-1:PRINT X$;:LOCATE CSRLIN-1:GOTO 590
  55. 550  L=FT*0.3048:ZZ=L:GOSUB 320:PRINT " metres"
  56. 560  LOCATE CSRLIN-1,23:PRINT STRING$(10,".")
  57. 570  GOSUB 880
  58. 580  '
  59. 590  IF L OR D THEN 670
  60. 600  INPUT " ENTER: Electrical length of line in degrees.........";D
  61. 610  IF D=0 THEN LOCATE CSRLIN-1:PRINT X$;:LOCATE CSRLIN-1:GOTO 670
  62. 620  ZZ=D:GOSUB 320:PRINT "<UNK! {00F8}>"
  63. 630  LOCATE CSRLIN-1,34:PRINT STRING$(11,".")
  64. 640  LN=CSRLIN-1
  65. 650  GOSUB 880
  66. 660  '
  67. 670  IF N OR D THEN 720
  68. 680  INPUT " ENTER: Length of line in wavelengths................";N
  69. 690  IF N=0 THEN LOCATE CSRLIN-1:PRINT X$;:LOCATE CSRLIN-1:GOTO 720
  70. 700  ZZ=N:GOSUB 320:PRINT "":GOSUB 880
  71. 710  '
  72. 720  IF V THEN 850
  73. 730  INPUT " ENTER: Velocity factor of line (decimal)............";V
  74. 740  IF V=0 THEN LOCATE CSRLIN-1:PRINT X$;:LOCATE CSRLIN-1:GOTO 780
  75. 750  LOCATE CSRLIN-1,9:PRINT "Velocity factor of line..........."
  76. 760  ZZ=V:GOSUB 320:PRINT "":GOSUB 880
  77. 770  '
  78. 780  IF V THEN 850
  79. 790  INPUT " ENTER: Dielectric constant..........................";E
  80. 800  IF E=0 THEN LOCATE CSRLIN-1:PRINT X$;:LOCATE CSRLIN-1:GOTO 850
  81. 810  V=1/SQR(E):ZZ=V:GOSUB 320:PRINT "":LOCATE CSRLIN-1,9
  82. 820  PRINT "Velocity factor of line..........."
  83. 830  GOSUB 880
  84. 840  '
  85. 850  IF N*L*F*V THEN 960 ELSE 380
  86. 860  IF N*L*F*V THEN 960 ELSE 380
  87. 870  '
  88. 880  '.....calculate
  89. 890  IF L=0 AND D*V*F<>0 THEN L=D*V/(1.20083*F)
  90. 900  IF N=0 AND L*F*V<>0 THEN N=L*F/K/V :GOTO 960
  91. 910  IF L=0 AND V*N*F<>0 THEN L=K*V*N/F :GOTO 980
  92. 920  IF F=0 AND V*N*L<>0 THEN F=K*V*N/L :GOTO 1000
  93. 930  IF V=0 AND L*F*N<>0 THEN V=L*F/K/N :GOTO 1020
  94. 940  RETURN
  95. 950  '
  96. 960  PRINT "        Length of line in wavelengths................";USING U$;N
  97. 970  GOTO 1030
  98. 980  PRINT "        Length of line in metres.....................";USING U$;L
  99. 990  GOTO 1030
  100. 1000  PRINT "        Frequency of operation in MHz................";USING U$;F
  101. 1010  GOTO 1030
  102. 1020  PRINT "        Velocity factor of line......................";USING U$;V
  103. 1030  PRINT UL$;
  104. 1040  E=(1/V)^2
  105. 1050  PRINT "        Dielectric constant of line..................";USING U$;E
  106. 1060  PRINT "        Length of line in feet.......................";
  107. 1070  PRINT USING U$;L/0.3048;:PRINT " ft."
  108. 1080  D=1.20083*F*L/V
  109. 1090  D$="#####.###<UNK! {00F8}>"
  110. 1100  IF D>=10 THEN D$="#####.##<UNK! {00F8}>"
  111. 1110  IF D>=100 THEN D$="#####.#<UNK! {00F8}>"
  112. 1120  PRINT "        Electrical length of line....................";USING D$;D
  113. 1130  W=K/F
  114. 1140  PRINT "        Free-space wavelength of operating frequency.";USING U$;W;
  115. 1150  PRINT " metres"
  116. 1160  PRINT UL$;
  117. 1170  IF LN=0 THEN 1210
  118. 1180  LOCATE LN
  119. 1190  PRINT "        Length of line...............................";USING U$;L;
  120. 1200  PRINT " metres"
  121. 1210  GOSUB 1610:GOTO 170
  122. 1220  END
  123. 1230  '
  124. 1240  '.....preface
  125. 1250  TB=8
  126. 1260  PRINT TAB(TB);
  127. 1270  PRINT "This program solves equations involving the following factors:"
  128. 1280  PRINT
  129. 1290  PRINT TAB(TB);
  130. 1300  PRINT "  -  Frequency of operation"
  131. 1310  PRINT TAB(TB);
  132. 1320  PRINT "  -  Line length in metres"
  133. 1330  PRINT TAB(TB);
  134. 1340  PRINT "  -  Line length in feet"
  135. 1350  PRINT TAB(TB);
  136. 1360  PRINT "  -  Line length in electrical wavelengths"
  137. 1370  PRINT TAB(TB);
  138. 1380  PRINT "  -  Line length in electrical degrees"
  139. 1390  PRINT TAB(TB);
  140. 1400  PRINT "  -  Velocity factor of line"
  141. 1410  PRINT TAB(TB);
  142. 1420  PRINT "  -  Dielectric constant of line"
  143. 1430  PRINT
  144. 1440  PRINT TAB(TB);
  145. 1450  PRINT "You will be asked to enter known data in the order shown above."
  146. 1460  PRINT TAB(TB);
  147. 1470  PRINT "If the data requested is unknown press <ENTER> to bypass the"
  148. 1480  PRINT TAB(TB);
  149. 1490  PRINT "request. If the data requested is essential, you will be asked"
  150. 1500  PRINT TAB(TB);
  151. 1510  PRINT "for it again."
  152. 1520  PRINT
  153. 1530  PRINT TAB(TB);
  154. 1540  PRINT "The data input requests are repeated in continuous rotation. When"
  155. 1550  PRINT TAB(TB);
  156. 1560  PRINT "sufficient data has been entered for the equations to be solved,"
  157. 1570  PRINT TAB(TB);
  158. 1580  PRINT "the values of all the above factors are displayed."
  159. 1590  RETURN
  160. 1600  '
  161. 1610  'HARDCOPY
  162. 1620  GOSUB 1730:LOCATE 25,2:COLOR 14,6
  163. 1630  PRINT " Press 1 to print screen, 2 to print screen & ";
  164. 1640  PRINT "advance paper, or 3 to continue.";:COLOR 7,0
  165. 1650  Z$=INKEY$:IF Z$="3"THEN GOSUB 1730:RETURN
  166. 1660  IF Z$="1"OR Z$="2"THEN GOSUB 1730:GOTO 1680
  167. 1670  GOTO 1650
  168. 1680  FOR QX=1 TO 24:FOR QY=1 TO 80
  169. 1690  LPRINT CHR$(SCREEN(QX,QY));
  170. 1700  NEXT QY:NEXT QX
  171. 1710  IF Z$="2"THEN LPRINT CHR$(12)
  172. 1720  GOTO 1620
  173. 1730  LOCATE 25,1:PRINT STRING$(80,32);:RETURN
  174.